package lanqiao.hol.control;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.lanqiao.tjut.bean.TBAdminsBean;
import org.lanqiao.tjut.model.ModelFactory;
import org.lanqiao.tjut.myUtils.MyUtils;

@WebServlet("/UserLoginServlet")
public class UserLoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 进行客户端请求处理
		System.out.println("这里进行的是客户端request请求的处理。。。");
		// 使用request对象的getParameter方法可以获取客户端使用http的request请求提交给服务器的form表单的数据
		// 必须使用控件的name属性获取
		// 获取姓名
		String strName = request.getParameter("txtUserName");
		// 获取密码
		String strPsw = request.getParameter("txtUserPsw");
		System.out.println("读取客户端发送的用户名：" + strName);
		System.out.println("读取客户端发送的密码：" + strPsw);
		// 使用实体类进行传参
		TBAdminsBean adminB = MyUtils.getNewInstance(TBAdminsBean.class);
		// 将前台页面传入值赋值给实体变量
		adminB.setAdmins_name(strName);
		adminB.setAdmins_psw(strPsw);
		// 调用model层进行登陆验证的业务逻辑处理
		// 获取登录用户信息
		List<TBAdminsBean> lstAdmins = ModelFactory.getUserLoginModelInstance().getUserLginInfo(adminB);
		// 跳转到登陆成功的页面，页面跳转后的代码不会再被执行
		// 判定是否登陆成功
		if (lstAdmins != null && lstAdmins.size() > 0) {
			// 登陆成功
			// 将用户登录成功的信息缓存到session对象中
			request.getSession().setAttribute("loginedAdminB", lstAdmins.get(0));
			// 使用转发进行跳转
			request.getRequestDispatcher("WEB-INF/logined/logined.jsp").forward(request, response);
		} else {
			response.sendRedirect("login.jsp");
		}
	}

}
